Return to doc.sitecore.com

Valid for Sitecore 5.3.2, 5.3.1, 5.1.1 and 5.2
4.  Installing Sitecore MailingList
Prev Next

The Sitecore MailingList module is supplied as a standard Sitecore package. The package contains the necessary files and data for integrating MailingList with Sitecore.

To install MailingList module you should firstly install MailingList package using Packager tool.

Add the following settings into web.config:

<controlSources>
        …
      <source mode="on" namespace="Sitecore.Modules.MailingList.XmlControls" folder="/sitecore modules/shell/mailinglist" deep="true" prefix="mailinglist"/>
      <source mode="on" namespace="Sitecore.Modules.MailingList.UI.Controls" assembly="Sitecore.MailingList" prefix="mailinglist"/>
</controlSources>

<references>
         …
        <reference>/bin/Sitecore.MailingList.dll</reference>
</references>

Moving the mailing list module root node  (paragraph valid for Sitecore 5.1/5.2 only)

If your site structure doesn’t allow having the ‘mailing list’ item under /sitecore/content/modules/, you can move the MailingList root item to any location of the master database.
Use the Content Editor Move item functionality to move ‘mailing list’ wherever you want.
Navigate to the MailingList setting item: /sitecore/system/modules/mailinglist
Point RootLocation link field to the new MailingList root item location.
Perform Incremental Publish.

Sitecore 5.3:

In addition to the lines above, add the following string into the configuration section of the Commands.config file if you use Sitecore 5.3:

<command name="mailinglist:send" type="Sitecore.Modules.MailingList.Commands.Send, Sitecore.MailingList"/>

Note: you should perform a full publish after installation of the module.

Restart client (if it wasn’t restarted after installing the package) and go to the ‘Settings’ page in the Sitecore » All Applications » Mailing List Module.

The following settings are used:

Key

Sample value

Description

SMTPServer

mail.sitecore.net

Specifies the SMTP server you use to send mails.

SMTPAuthMethod

NONE

Type of authentication to use with SMTP server.

SMTPLoginDomain

 

Domain name to pass to SMTP server when performing authentication.

SMTPUserName

 

User name to use for authentication with SMTP server.

SMTPPassword

 

Password to use for authentication with SMTP server.    

Database

/data/maillist.mdb

Location of the database.

ConnectionString 

 

Specifies a database connection string for the database. This setting overwrites the MailingListDatabase setting.

Mail Senders

HTML Mail or Text Mail or Url Mail

A node that contain a number of items representing mail types. Each of them has two fields in the data section which specify the template name and mail sender interface. When a mail is sent, the mail sender is found using the template name of the mail and this list. Using this you may implement your own object for sending mails:

MailingList.Html mail = Sitecore.Modules.MailingList.HtmlMailSender();

IndividualMails

true

Specifies if mails should be sent individually or as bulk (using BCC). This setting may be one of three options:

  • True
  • False
  • <blank>

If the setting is blank, the user chooses how mails are sent.

ReplaceCustomFields

true

Specifies if expansion macros uses values from custom fields (subscriber fields). For instance you may have a custom field named Address. If the setting is true, mails are sent individually and the mail contains the string $Address$, this string is replaced with the value of the custom field.

This option degrades performance.

Encoding

utf-8

Specifies the Encoding of the mail body and header fields. 

RecipientUrlMails

false

Indicates if URL mails should request the source web page per subscriber. If true the web page is requested per subscriber with SubscriberID and Email passed on the QueryString. If false the web page is only request once. 

SubscriberFieldLen

255

Length used by CutString before inserting into subscriberfields. It should be used only if you use MSSQL database.

Publishing Target

Internet

Target to publish letter to

PublishDomain

www.mysite.com

Determines on which domain to look for the published mail.

NOTE: this setting must contain a valid value

InternalPublishWait

20

Determine how many seconds to wait for mail to be published before raising error.

ExternalPublishWait

10

If the mail-page is not available on the frontendserver it loops until the page is ready. If it is not ready within the time specified in MailingListExternalPublishWait , the loop times out and an error is returned.

User

 

User to login, if anonymous access disabled.

Password

 

Password to login, if anonymous access disabled.

SendMethod

sync or async

Specifies whether letters will be sent out in foreground (sync) or as a background job (async), without blocking the Sitecore client operation.
Async send method is useful for large mailing lists.

BatchSize

250

Number of recipients of each envelope sent in batch mode. When sending a letter to a list of 1000 subscribers, actually 4 envelopes will be sent to each of 250 recipients. This setting allows to send mail through SMTP servers which limit the number of recipients per letter.

BatchSleep

300

Number of milliseconds to sleep between requests to SMTP server when in batch mode. Use this setting to decrease load of SMTP server.

IndividualSleep

100

Number of milliseconds to sleep between requests to SMTP server when in individual mail mode. Use this setting to decrease load of SMTP server.

QueueSleep

0

Number of milliseconds to sleep between database requests when putting mails into queue.

HandlerAssembly

HandlerClass

/bin/mailhandler.dll

Customer.MailHandler

These settings specify a class that may be used for filtering recipients and customizing the mail.

The named class must implement the IMailHandler interface.

Debug

yes or no (checkbox)

Enables verbose tracing of mailinglist operations in Sitecore log files.

NoSend

yes or no (checkbox)

Whether actual access to SMTP server will be suppressed

DatabaseRetries

1

Number of times database operation may fail before sending thread is aborted.

DatabaseRetrySleep

1

Delay between DatabaseRetries (ms)

 

 

 

CheckEmail

yes or no (checkbox)

Whether recipient emails are checked for validity

NOTE: PublishDomain is a required setting and must contain a valid value.

NOTE: If anonymous access to the site is disabled, set the basic authentification

4.1.  Firewall Settings

The following ports have to be opened:

4.2.  License

The module requires a valid license. The license key is “Sitecore.MailingList”.

4.3.  Test Configuration

The MailingList Module is now installed in Sitecore. You can test the configuration by using the Mailing List Tasks page in Sitecore. In the Sitecore client choose Sitecore » All Applications » MailingList Module » Mailing List Tasks Page menu. You’ll see the list of the available actions.

Create yourself as a test user and subscribe to one or more of the test lists. Send a test email.


Prev Next